﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

///
///Anything that has an entity in the game IE anything that can be represented physically in the game mobs, objects
///Not data structures/data representations IE limb controls or movement algorithms...
///

namespace firstrpg
{
    public abstract class atom
    {
        protected bool anchored = false;    //is it anchored, might be included later in flags, properties or status
        //or item type.
        public string name;

        protected short weight = 0;
        public Vector2 position, velocity, acceleration;
        public short width, height;
        public float rotation = 0f, speed = 0f;

        public short whoAmI = 0;    //their index in the container




        ///
        ///Methods
        ///

        public virtual void explode() { }
        /// <summary>
        /// What this atom does when it explodes, set off when external explosions interface with this atom.
        /// </summary>
        public virtual void burn() { }
        ///
        /// Call this to burn the atom. 
        ///
        public virtual void touch() { } //called when something/someone touches this atom





    }
}
